#include "TestFrame.h"
#include"CustomFrame.h"

#include<QVBoxLayout>
#include<QLabel>
#include<QPushButton>

TestFrame::TestFrame(QWidget *parent) : QWidget(parent)
{
    //1 简单框架
    frame = new QFrame(this);
    frame->setFrameShape(QFrame::Box);      // 矩形边框
    frame->setFrameShadow(QFrame::Raised);  // 凸起阴影
    frame->setLineWidth(2);                 // 边框宽度
    frame->setMidLineWidth(1);              // 中线宽度（用于双线边框

    //2 当作容器
    QFrame *frame2 = new QFrame(this);
    frame2->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);

    QVBoxLayout *frame2_layout = new QVBoxLayout(frame2);
    QLabel *frame2_label=new QLabel("Content inside frame",frame2);
    QPushButton *frame2_PushButton=new QPushButton("Click me",frame2);
    frame2_layout ->addWidget(frame2_label);
    frame2_layout ->addWidget(frame2_PushButton);

    //3 用作分割线
    QFrame *frame3 = new QFrame(this);
    frame3->setFrameShape(QFrame::HLine);     // 水平线
    frame3->setFrameShadow(QFrame::Sunken);
    frame3->setLineWidth(1);

    QFrame *frame3_2 = new QFrame(this);
    frame3_2->setFrameShape(QFrame::VLine);     // 垂直线
    frame3_2->setFrameShadow(QFrame::Sunken);
    frame3_2->setLineWidth(1);
    //frame->setFrameShape(QFrame::WinPanel);  // Windows风格面板

    //4 自定义绘图
    CustomFrame *frame4 =new CustomFrame(this);

    QVBoxLayout *vlayout =new QVBoxLayout(this);
    vlayout->addWidget(frame);
    vlayout->addWidget(frame2);
    vlayout->addWidget(frame3);
    vlayout->addWidget(frame3_2);
    vlayout->addWidget(frame4);
}
